home *** CD-ROM | disk | FTP | other *** search
/ .net 1999 December / netCD65.iso / mac / madasafish / macsw / Internet Setup / Modem Scripts / GV 28.8-K56 for ARA 2.1⁄OT-PPP / GV 28.8-K56 for ARA 2.1_OT-PPP
Encoding:
Text File  |  1997-04-28  |  16.2 KB  |  800 lines

  1. !  GV Teleport 33.6 for ARA 2.1 - 9/5/96, DEJ
  2. !  Copyright: © 1991-1997 Global Village Communication, Inc.     All Rights Reserved.
  3. !    Portions Authored by: Kris Kreutzman
  4. !    Portions Copyright:    © 1991-1996 Apple Computer, Inc.    All Rights Reserved.
  5. !
  6. !    revision history:
  7. !   1.0.5 03/12/97 GAS        Updated code to support K56Flex speeds
  8. !    1.0.4 01/31/97 RHY        Removed the \^ from diaing strings to turn off data
  9. !                            calling tones.
  10. !     1.0.3 11/15/96 DEJ         Added fix for problem when "Ring through modem" is on and 
  11. !                            making ARA connection.
  12. !   1.0.1 09/05/96 DEJ -     Generated basic Apple/Kris Kreutzman script w/MSG 1.0a1.
  13. !                            Integrated earlier/cleaner answer & hangup (rhoiberg),
  14. !                           Platinum mods (SAP), Fax/ARA discrimination (crw), Int'l 
  15. !                           Blacklisting & blind dialing (DEJ), 31.2k & 33.6k (gas).
  16. !                           Added comments, 2.1 features, & better product support.
  17. !  'mlts' resource info for this modem:
  18. !    byte 1 == 01 -> modem HAS built-in error correction protocols
  19. !    byte 2 == 01 -> modem HAS built-in data compression protocols
  20. !    byte 3 == 40 -> max number of chars (hex 28) in varstr 7
  21. !    byte 4 == 40 -> max number of chars (hex 28) in varstr 8
  22. !    byte 5 == 40 -> max number of chars (hex 28) in varstr 9
  23. !    
  24. @ORIGINATE
  25. @ANSWER
  26. ! ---- Initial modem setup ----
  27. ! Start by opening up & resetting the serial port at the speed GlobalFax was using:
  28. serreset 19200, 0, 8, 1
  29. HSReset 0 0 0 0 0 0
  30. settries 0
  31. !
  32. ! If in Answer mode, leave port speed at 19.2 for Fax/ARA discrimination.
  33. ifANSWER 3
  34. ! In originate mode, set serial port speed depending upon the compression flag
  35. !    A higher rate with compression on (PPP) to handle expanded data from the modem
  36. !    A lower rate closer to the DCE when compression is off (ARA)
  37. ifstr 5 1 "0"
  38. serreset 115200, 0, 8, 1
  39. jump 2
  40. !
  41. @LABEL 1
  42. ! If in PPP mode, DTE is set to 115200, above.
  43. !
  44. ifANSWER 3
  45. ! For outgoing ARA calls, bring the port speed up to just above max
  46. ! uncompressed data rate (for TelePort 56K, this would be 57,600).
  47. !
  48. serreset 57600, 0, 8, 1
  49. !
  50. @LABEL 2
  51. hsreset 0 0 0 0 0 0
  52. settries 0
  53. !
  54. ! Get the modem's attention
  55. !
  56. matchclr
  57. matchstr 1 3 "OK\13\10"
  58. write "AT\13"
  59. matchread 30
  60. !
  61. @LABEL 3
  62. ! Setup the modem for the following:
  63. !   AT         Attention
  64. !   &F1        Reset to factory settings
  65. !              Standard compression/reliablity
  66. !              Lock serial port speed
  67. !              Serial port hardware handshaking, turn off software handshaking
  68. !   E0         Turn off AT command mode echo
  69. !   W2         CONNECT returns DCE speed
  70. !   S95=45     Verbose responses and compression/protocol results
  71. !   S0=0       Turn off answering
  72. !   &D3        Reset or return to command mode on DTR toggle (optional)
  73. !   S7=60      Allow 60 seconds for calls to complete
  74. !
  75. matchclr
  76. matchstr 1 4   "OK\13\10"
  77. matchstr 2 101 "ERROR\13\10"
  78. write "AT&F1E0W2S95=45S0=0&D3S7=60\13"
  79. matchread 30
  80. inctries
  81. iftries 3 101
  82. !
  83. ! Reset the Modem on setup failure
  84. !
  85. DTRClear
  86. pause 5
  87. DTRSet
  88. flush
  89. jump 3
  90. ! (Note, this was jump 1 in original GV TP Plat. 2.0 script).
  91. !
  92. !
  93. @LABEL 4
  94. ! Modem now responding and configured for full EC/DC functions.
  95. ! Varstring 4 , reliable link protocol:
  96. !    = 0, handled by computer (ARAP)
  97. !    = 1, handled by modem (PPP)
  98. !    = 2, MNP10 protocol (Cellular protocol, no longer supported)
  99. ! If PPP or Cellular mode, jump to 5, otherwise (ARA) disable EC/DC.
  100. ifstr 4 5 "1"
  101. ifstr 4 5 "2"
  102. !
  103. ! Varstring 4 == 0, turn off reliable link protocol in modem (ARAP)
  104. matchclr
  105. matchstr 1 9 "OK\13\10"
  106. write "AT\\N0\13"
  107. matchread 30
  108. jump 101
  109. !
  110. !
  111. @LABEL 5
  112. ! This is where MNP10 (or MNP10EC) could go, if/when we support that.
  113. ! Standard EC/DC is still on.  Decide whether to turn off DC.
  114. ! Varstring 5, compression protocol:
  115. !    = 0, handled by computer 
  116. !    = 1, handled by modem
  117. ifstr 5 9 "1"
  118. !
  119. ! Varstring 5 == 0, turn off compression protocol in modem.
  120. matchclr
  121. matchstr 1 9 "OK\13\10"
  122. write "AT%C0\13"
  123. matchread 30
  124. jump 101
  125. !
  126. !
  127. @LABEL 9
  128. ! If speaker on flag is true, jump to 13.  Otherwise, turn the speaker off.
  129. ! Varstring 2, modem speaker:
  130. !    = 0, speaker off
  131. !    = 1, speaker on
  132. ifstr 2 13 "1"
  133. pause 5
  134. matchclr
  135. matchstr 1 13 "OK\13\10"
  136. write "ATM0\13"
  137. matchread 30
  138. jump 101
  139. !
  140. ! Modem ready, wait for a call or originate a call
  141. !
  142. @LABEL 13
  143. ! In answer mode, jump out and set FAX/DATA discriminating auto-answer.
  144. ifANSWER 88
  145. !
  146. !
  147. ! ---- Originating a call ----
  148. ! For normal dialing, jump to 19.  Otherwise, manual dial jumps to 15, blind dial
  149. !    jumps to 17.
  150. ! Varstring 6, dialing mode:
  151. !    = 0, normal dialing
  152. !    = 1, blind dialing
  153. !    = 2, manual dialing
  154. ifstr 6 17 "1"
  155. ifstr 6 15 "2"
  156. jump 19
  157. !
  158. @LABEL 15
  159. ! Display ASK dialog with message.  Goto label 107 if dialog canceled.
  160. ASK 2 "Pick up the phone & dial ^1.  Hit OK when the phone rings, then hangup." 107
  161. note "Manual dialing initiated" 3
  162. ! X1S6=4 to ignore dialtone 4 seconds, & ignore busy, D to dial, \^ generates data tone
  163. write "ATX1S6=4D\13"
  164. jump 32
  165. !
  166. @LABEL 17
  167. note "Dialing without tone" 3
  168. matchclr
  169. matchstr 1 19 "OK\13\10"
  170. ! X1S6=4 to ignore dialtone 4 seconds, & ignore busy for blind dialing.
  171. write "ATX1S6=4\13"
  172. matchread 30
  173. jump 101
  174. !
  175. !
  176. @LABEL 19
  177. ! This is where we break up long dialstrings
  178. ! Display the full dialstring contained in Varstring 1
  179. note "Dialing ^1" 3
  180. !
  181. ! Varstrings 7, 8 and 9, contain dialstring fragments
  182. !    Long phone numbers may have been split into smaller groups
  183. !    so that the modem can use them
  184. ! Check to see whether these fragments exist.  If they do, dial them one at a time.
  185. ! If not, jump ahead and dial the remaining phone number.  Use the data tone.
  186. ! Varstring 3:  "p" for pulse & "t" for tone dialing
  187. ! Varstring 8 == blank (dialstring in varstring 7)
  188. ! Varstring 9 == blank (dialstring in varstrings 7 & 8)
  189. ! Otherwise (dialstring in varstrings 7, 8 & 9)
  190. ! \^ is added to the dialstring to force the modem to generate a data tone
  191. ifstr 8 27 " "
  192. ifstr 9 24 " "
  193. !
  194. !  Write dialstring in varstrings 7, 8 & 9
  195. matchclr
  196. matchstr 1 21 "OK\13\10"
  197. write "ATD^3^7;\13"
  198. matchread 400
  199. jump 101
  200. @LABEL 21
  201. matchclr
  202. matchstr 1 22 "OK\13\10"
  203. write "ATD^3^8;\13"
  204. matchread 400
  205. jump 101
  206. @LABEL 22
  207. write "ATD^3^9\13"
  208. jump 32
  209. !
  210. !
  211. @LABEL 24
  212. !  Write dialstring in varstrings 7 & 8
  213. matchclr
  214. matchstr 1 25 "OK\13\10"
  215. write "ATD^3^7;\13"
  216. matchread 400
  217. jump 101
  218. @LABEL 25
  219. write "ATD^3^8\13"
  220. jump 32
  221. !
  222. @LABEL 27
  223. !  Write dialstring in varstring 7
  224. write "ATD^3^7\13"
  225. !
  226. !
  227. !    ---- Connection response ----
  228. !
  229. ! The following section will parse modem responses of five types:
  230. !   1) PROTOCOL: xxx, COMPRESSION: xxx, CONNECT xxx
  231. !   2) CONNECT xxx/ARQ/V42
  232. !   3) Standard incoming and outgoing call progress messages
  233. !   4) FAX/DATA discrimination messages
  234. !   5) International DELAYED & BLACKLISTED restrictions.
  235. !
  236. @LABEL 32
  237. matchclr
  238. matchstr  1 81  "RING\13\10"
  239. matchstr  2 102 "NO DIALTONE\13\10"
  240. matchstr  3 103 "NO CARRIER"
  241. matchstr  4 103 "ERROR\13\10"
  242. matchstr  5 104 "BUSY\13\10"
  243. matchstr  6 105 "NO ANSWER\13\10"
  244. matchstr  7 33  "CONNECT "
  245. matchstr  8 32  "CARRIER"
  246. matchstr  9 40  "CONNECT\13\10"
  247. matchstr 10 74  "PROTOCOL: LAP"
  248. matchstr 11 74  "PROTOCOL: MNP"
  249. matchstr 12 74  "PROTOCOL: ALT"
  250. matchstr 13 76  "COMPRESSION: V"
  251. matchstr 14 76  "COMPRESSION: MNP5"
  252. matchstr 15 76  "COMPRESSION: CLASS"
  253. matchstr 16 82  "FAX\13\10"
  254. matchstr 17 84  "DATA\13\10"
  255. matchstr 18 110  "DELAYED  "
  256. matchstr 19 111  "BLACKLISTED\13\10"
  257. matchread 700
  258. ifANSWER 32
  259. jump 101
  260. !
  261. !  Parse the speed of connect result codes
  262. !  1200, 2400 and 4800 have two entries each
  263. !  to distinguish them from 12000, 24000 and 48000
  264. ! (added 1200bps support)
  265. !
  266. @LABEL 33
  267. matchclr
  268. matchstr  1 39 "1200\13"
  269. matchstr  2 39 "1200/"
  270. matchstr  3 40 "2400\13"
  271. matchstr  4 40 "2400/"
  272. matchstr  5 41 "4800\13"
  273. matchstr  6 41 "4800/"
  274. matchstr  7 42 "7200"
  275. matchstr  8 43 "9600"
  276. matchstr  9 44 "12000"
  277. matchstr 10 45 "14400"
  278. matchstr 11 46 "16800"
  279. matchstr 12 47 "19200"
  280. matchstr 13 48 "21600"
  281. matchstr 14 49 "24000"
  282. matchstr 15 50 "26400"
  283. matchstr 16 51 "28800"
  284. matchstr 17 52 "31200"
  285. matchstr 18 53 "32000"
  286. matchstr 19 54 "33600"
  287. matchstr 20 55 "34000"
  288. matchstr 21 56 "36000"
  289. matchstr 22 57 "38000"
  290. matchstr 23 58 "40000"
  291. matchstr 24 59 "42000"
  292. matchstr 25 60 "44000"
  293. matchstr 26 61 "46000"
  294. matchstr 27 62 "48000"
  295. matchstr 28 63 "50000"
  296. matchstr 29 64 "52000"
  297. matchstr 30 65 "54000"
  298. matchstr 31 66 "56000"
  299. matchread 30
  300. jump 71
  301. !
  302. ! -- Connection rates --
  303. ! CommunicatingAt informs ARA of the raw modem to modem
  304. ! connection speed.
  305. !
  306. @LABEL 39
  307. note "Communicating at 1200 bps." 2
  308. CommunicatingAt 1200
  309. jump 72
  310. !
  311. @LABEL 40
  312. note "Communicating at 2400 bps." 2
  313. CommunicatingAt 2400
  314. jump 72
  315. !
  316. @LABEL 41
  317. note "Communicating at 4800 bps." 2
  318. CommunicatingAt 4800
  319. jump 72
  320. !
  321. @LABEL 42
  322. note "Communicating at 7200 bps." 2
  323. CommunicatingAt 7200
  324. jump 72
  325. !
  326. @LABEL 43
  327. note "Communicating at 9600 bps." 2
  328. CommunicatingAt 9600
  329. jump 72
  330. !
  331. @LABEL 44
  332. note "Communicating at 12000 bps." 2
  333. CommunicatingAt 12000
  334. jump 72
  335. !
  336. @LABEL 45
  337. note "Communicating at 14400 bps." 2
  338. CommunicatingAt 14400
  339. jump 72
  340. !
  341. @LABEL 46
  342. note "Communicating at 16800 bps." 2
  343. CommunicatingAt 16800
  344. jump 72
  345. !
  346. @LABEL 47
  347. note "Communicating at 19200 bps." 2
  348. CommunicatingAt 19200
  349. jump 72
  350. !
  351. @LABEL 48
  352. note "Communicating at 21600 bps." 2
  353. CommunicatingAt 21600
  354. jump 72
  355. !
  356. @LABEL 49
  357. note "Communicating at 24000 bps." 2
  358. CommunicatingAt 24000
  359. jump 72
  360. !
  361. @LABEL 50
  362. note "Communicating at 26400 bps." 2
  363. CommunicatingAt 26400
  364. jump 72
  365. !
  366. @LABEL 51
  367. note "Communicating at 28800 bps." 2
  368. CommunicatingAt 28800
  369. jump 72
  370. !
  371. @LABEL 52
  372. note "Communicating at 31200 bps." 2
  373. CommunicatingAt 31200
  374. jump 72
  375. !
  376. @LABEL 53
  377. note "Communicating at 32000 bps." 2
  378. CommunicatingAt 32000
  379. jump 72
  380. !
  381. @LABEL 54
  382. note "Communicating at 33600 bps." 2
  383. CommunicatingAt 33600
  384. jump 72
  385. !
  386. @LABEL 55
  387. note "Communicating at 34000 bps." 2
  388. CommunicatingAt 34000
  389. jump 72
  390. !
  391. @LABEL 56
  392. note "Communicating at 36000 bps." 2
  393. CommunicatingAt 36000
  394. jump 72
  395. !
  396. @LABEL 57
  397. note "Communicating at 38000 bps." 2
  398. CommunicatingAt 38000
  399. jump 72
  400. !
  401. @LABEL 58
  402. note "Communicating at 40000 bps." 2
  403. CommunicatingAt 40000
  404. jump 72
  405. !
  406. @LABEL 59
  407. note "Communicating at 42000 bps." 2
  408. CommunicatingAt 42000
  409. jump 72
  410. !
  411. @LABEL 60
  412. note "Communicating at 44000 bps." 2
  413. CommunicatingAt 44000
  414. jump 72
  415. !
  416. @LABEL 61
  417. note "Communicating at 46000 bps." 2
  418. CommunicatingAt 46000
  419. jump 72
  420. !
  421. @LABEL 62
  422. note "Communicating at 48000 bps." 2
  423. CommunicatingAt 48000
  424. jump 72
  425. !
  426. @LABEL 63
  427. note "Communicating at 50000 bps." 2
  428. CommunicatingAt 50000
  429. jump 72
  430. !
  431. @LABEL 64
  432. note "Communicating at 52000 bps." 2
  433. CommunicatingAt 52000
  434. jump 72
  435. !
  436. @LABEL 65
  437. note "Communicating at 54000 bps." 2
  438. CommunicatingAt 54000
  439. jump 72
  440. !
  441. @LABEL 66
  442. note "Communicating at 56000 bps." 2
  443. CommunicatingAt 56000
  444. jump 72
  445. !
  446. ! Labels 67-70 saved for future speed expansion
  447. !
  448. @LABEL 71
  449. note "Communicating at an unknown rate." 2
  450. jump 72
  451. !
  452. ! Look for reliablilty and compression results 
  453. ! at the end of the connect result.
  454. !
  455. @LABEL 72
  456. matchclr
  457. matchstr  1 75 "LAPM"
  458. matchstr  2 75 "REL"
  459. matchstr  3 75 "ARQ"
  460. matchstr  4 77 "COMP/"
  461. matchstr  5 77 "COMP\13"
  462. matchstr  6 75 "V42/"
  463. matchstr  7 75 "V42\13"
  464. matchstr  8 77 "V42BIS"
  465. matchstr  9 77 "V42bis"
  466. matchstr 10 75 "MNP\13"
  467. matchstr 11 77 "MNP5"
  468. matchstr 12 78 "\10"
  469. matchread 30
  470. jump 78
  471. ! -- Modem error correction link negotiation --
  472. ! Userhook 2 informs ARA that a modem-to-modem error
  473. ! correcting protocol has been negotiated
  474. !
  475. !
  476. @LABEL 74
  477. note "Modem Reliable Link Established." 2
  478. userhook 2
  479. jump 32
  480. !
  481. @LABEL 75
  482. note "Modem Reliable Link Established." 2
  483. userhook 2
  484. jump 72
  485. !
  486. ! -- Compression negotiation --
  487. ! Userhook 3 informs ARA that a modem-to-modem compression
  488. ! protocol has been negotiated
  489. !
  490. @LABEL 76
  491. note "Modem Compression Established." 2
  492. userhook 3
  493. jump 32
  494. !
  495. @LABEL 77
  496. note "Modem Compression Established." 2
  497. userhook 3
  498. jump 72
  499. !
  500. !
  501. ! -- Normal exit after "CONNECT" --
  502. !
  503. !  This modem has been setup to do CTS handshaking,
  504. !  and we assume that a CTS handshaking cable is being used.
  505. !
  506. @LABEL 78
  507. ! Turn on CTS handshaking.
  508. HSReset 0 1 0 0 0 0
  509. !
  510. ifANSWER 79
  511. pause 30
  512. @LABEL 79
  513. exit 0
  514. !
  515. !
  516. ! ---- Answer calls ----
  517. !
  518. !    (Converted active ATA answering to a passive FAX/DATA discrimination method.)
  519. !
  520. @LABEL 81
  521. ifORIGINATE 32
  522. note "Answering phone..." 2
  523. jump 32
  524. @LABEL 82
  525. note "Answering Fax call..."
  526. matchclr
  527. matchstr 1 83 "CONNECT\13\10"
  528. matchread 100
  529. jump 101
  530. !
  531. @LABEL 83
  532. settries 1225
  533. sbreak
  534. pause 80
  535. note "A Fax call was received, but could not be answered."
  536. settries 0
  537. jump 95
  538. @LABEL 84
  539. ! Incoming call is DATA, not FAX.
  540. ! For GlobalFax, answering port speed was 19.2k. If compression is on (PPP), set
  541. ! a serial port speed of 115.2k. Otherwise, we're in ARA, so jump to 85.
  542. !
  543. !    Tell ARA to claim the serial port
  544. userhook 1
  545. ifstr 5 85 "0"
  546. serreset 115200, 0, 8, 1
  547. write "ATO\13"
  548. jump 32
  549. @LABEL 85
  550. ! Answering port speed is still 19.2k. Compression is off (ARA). Use 57.6.
  551. serreset 57600, 0, 8, 1
  552. write "ATO\13"
  553. jump 32
  554. @LABEL 88
  555. ! Attempt to set Answer mode w/FAX/DATA discrimination, then go into wait mode.
  556. ! If the modem cannot do FAX/DATA discriminination, jump to 89.
  557. !
  558. ! Issue "AT~GR0" to turn off ring through modem on TelePort Speakerphones. This
  559. ! will generate an error on other GV modems, but that's OK. We just issue the 
  560. ! command, wait three seconds and move on.
  561. write "AT~GR0\13"
  562. pause 3
  563. matchclr
  564. matchstr 1 32 "OK\13\10"
  565. matchstr 2 89 "ERROR\13\10"
  566. write "AT+FAE=1S0=1\13"
  567. matchread 30
  568. @LABEL 89
  569. ! Set regular answer mode, for modems that don't do FAX/DATA discrimination.
  570. matchclr
  571. matchstr 1 32 "OK\13\10"
  572. write "ATS0=1\13"
  573. matchread 30
  574. jump 101
  575. ! ---- Hang up and reset modem ----
  576. !
  577. @HANGUP
  578. ! If we do this too long, exit.
  579. iftries 1225 99
  580. @LABEL 90
  581. settries 0
  582. HSReset 0 0 0 0 0 0
  583. !
  584. @LABEL 91
  585. ! Try to get control of the modem
  586. DTRClear
  587. Pause 5
  588. DTRSet
  589. flush
  590. !
  591. @LABEL 94
  592. ! Force a hangup
  593. matchclr
  594. matchstr 1 98 "NO CARRIER\13\10"
  595. matchstr 2 98 "OK\13\10"
  596. matchstr 3 98 "ERROR\13\10"
  597. matchstr 4 98 "0\13\10"
  598. matchstr 5 98 "DELAYED"
  599. matchstr 6 98 "BLACKLISTED"
  600. write "ATH\13"
  601. matchread 30
  602. ! Try again to get control of the modem by toggling DTR
  603. !
  604. @LABEL 95
  605. DTRClear
  606. Pause 5
  607. DTRSet
  608. flush
  609. !  Escape from data to command mode using standard +++ command
  610. matchclr
  611. matchstr 1 96 "OK\13\10"
  612. pause 15
  613. write "+++"
  614. matchread 15
  615. !
  616. !
  617. ! Try the hangup sequence three times otherwise declare an error
  618. inctries
  619. iftries 3 101
  620. jump 95
  621. !
  622. @LABEL 96
  623. !
  624. ! Pause between data and command mode
  625. !
  626. pause 50
  627. jump 94
  628. !
  629. !
  630. @LABEL 97
  631. ! AT&F1 resulted in Error, try again using AT&F
  632. pause 15
  633. matchclr
  634. matchstr 1 99 "OK\13\10"
  635. write "AT&FS0=0\13"
  636. matchread 30
  637. jump 101
  638. !
  639. @LABEL 98
  640. ! Got control of the modem.  Recall the factory settings.  If it fails, jump 97.
  641. pause 15
  642. matchclr
  643. matchstr 1 99 "OK\13\10"
  644. matchstr 2 97 "ERROR\13\10"
  645. write "AT&F1S0=0\13"
  646. matchread 30
  647. jump 101
  648. !
  649. @LABEL 99
  650. exit 0
  651. !
  652. ! ---- Error messages -----
  653. !
  654. ! Modem Not Responding
  655. @LABEL 101
  656. exit -6019
  657. !
  658. ! No Dial Tone
  659. @LABEL 102
  660. exit -6020
  661. !
  662. ! No Carrier or Error
  663. @LABEL 103
  664. exit -6021
  665. !
  666. ! Busy
  667. @LABEL 104
  668. exit -6022
  669. !
  670. ! No Answer
  671. @LABEL 105
  672. exit -6023
  673. !
  674. ! User Cancellation
  675. @LABEL 107
  676. exit -6008
  677. !
  678. ! ---- DELAYED and BLACKLISTED functions ----
  679. @LABEL 110
  680. matchclr
  681. matchstr  1 119 "00:00:0"
  682. matchstr  2 118 "00:00:1"
  683. matchstr  3 117 "00:00:2"
  684. matchstr  4 116 "00:00:3"
  685. matchstr  5 115 "00:00:4"
  686. matchstr  6 114 "00:00:5"
  687. matchstr  7 113 "00:01:"
  688. matchstr  8 112 "00:02:"
  689. matchread 30
  690. !  The number is 'DELAYED' more than 3 minutes.  Exit the script telling the user to wait or reset his modem.
  691. !
  692. exit -6019 "\13The modem responds 'DELAYED':\13(Cannot redial this number right now.)\13To try again immediately, turn modem OFF and ON before proceeding."
  693. @LABEL 111
  694. !  The number is 'BLACKLISTED'.  Exit the script, telling the user to reset his modem.
  695. exit -6019 "\13The modem responds 'BLACKLISTED':\13(Cannot redial this number again.)\13Double-check the number, then turn your modem OFF and ON before proceeding."
  696. !
  697. @LABEL 112
  698. note "'DELAYED'. Redialing in 3 minutes..."
  699. pause 600
  700. @LABEL 113
  701. note "'DELAYED'. Redialing in 2 minutes..."
  702. pause 600
  703. @LABEL 114
  704. note "'DELAYED'. Redialing in 1 minute... "
  705. pause 100
  706. @LABEL 115
  707. note "'DELAYED'. Redialing in 50 seconds..."
  708. pause 100
  709. @LABEL 116
  710. note "'DELAYED'. Redialing in 40 seconds..."
  711. pause 100
  712. @LABEL 117
  713. note "'DELAYED'. Redialing in 30 seconds..."
  714. pause 100
  715. @LABEL 118
  716. note "'DELAYED'. Redialing in 20 seconds..."
  717. pause 100
  718. @LABEL 119
  719. note "'DELAYED'. Redialing in 10 seconds..."
  720. pause 100
  721. jump 1
  722. ! Labels 121-128 are reserved for emergency hacks.
  723.